//-----------------------------------------------------------------------------
#ifndef __S3DXAIPackage_h__
#define __S3DXAIPackage_h__
//-----------------------------------------------------------------------------
#include "S3DXAIFunction.h"
#include "S3DXAIConstant.h"
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
namespace S3DX
//-----------------------------------------------------------------------------
{
    class AIPackage
    {
    public :

        //---------------------------------------------------------------------
        //  Virtual destructor
        //
        virtual                        ~AIPackage           ( ) { }

        //---------------------------------------------------------------------
        //  Accessors
        //
        virtual const   char           *GetName             ( ) const = 0 ;
        virtual         uint32          GetFunctionCount    ( ) const = 0 ;
        virtual         uint32          GetConstantCount    ( ) const = 0 ;
        virtual const   AIFunction     *GetFunctionAt       ( uint32 _iIndex ) const = 0 ;
        virtual const   AIConstant     *GetConstantAt       ( uint32 _iIndex ) const = 0 ;
    } ;
}
//-----------------------------------------------------------------------------


//-----------------------------------------------------------------------------
#endif
//-----------------------------------------------------------------------------
